const pathList = [
  '/a/b',
  '/a/2/c',
  '/d'
];
/**
如上，输入是一个一维String数组pathList，里面记录了由"/"分隔的字符串，表示了用户在系统中存储的目录结构
  + 现在需要将这个目录结构进行结构化，方便使用Echarts等可视化组件进行绘制
  + 结构化的要求：将目录结构以嵌套对象的形式表现出来
    {
      "a": {
        "2": {
          "c": {}
        },
        "b": {}
      },
      "d": {}
    }
实现要求：请实现下面的pathFormat方法，完成这个结构化的过程
 */
const pathFormat = function pathFormat(pathList) {
  const answer = {};
  // 把pathList转换为二维数组 => [["a","b"],["a","2","c"],["d"]]
  pathList = pathList.map(item => {
    return item.split('/').filter(cur => cur !== '');
  });

  // 迭代pathList，获取里面的每一个小数组
  pathList.forEach(item => {
    // 基于递归把小数组中的每一项,变为对象的,对应层级的“键”
    let i = 0;
    const next = (obj) => {
      if (i >= item.length) return;
      let key = item[i++];
      if (!obj.hasOwnProperty(key)) obj[key] = {};
      next(obj[key]);
    };
    next(answer);
  });
  return answer;
};
console.log(JSON.stringify(pathFormat(pathList), null, 2));